#pragma once

#include "Alice/ECS/System.hpp"
#include "Alice/Math/Direction.hpp"
#include "Alice/Math/OBBRect.h"
#include <cmath>

namespace Alice
{

struct OBBComp;
struct TransformComp;

/*
    OBB 碰撞系统
    这个系统关注的组件：OBBComp，TransformComp
*/
class OBBSys : public System
{
    void OnUpdate();

    /*
        判断两个 OBBComp 是否碰撞
    */
    bool IsCollision(OBBComp& a, OBBComp& b, TransformComp& a_tf, TransformComp& b_tf);
};

} // namespace Alice
